package city.spring.domain.entity.mealService;

import city.spring.modules.health.entity.DiseaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.LocalTime;
import java.util.List;

/**
 * 食物信息
 *
 * @author yzh
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("food_info")
public class FoodInfoEntity implements Serializable {

    /**
     * 禁忌人群
     */
    @TableField(exist = false)
    List<DiseaseEntity> forbiddenDisease;
    /**
     * 推荐人群
     */
    @TableField(exist = false)
    List<DiseaseEntity> recommendDisease;
    /**
     * 备用标记
     */
    @TableField(exist = false)
    String tag;
    /**
     * 日期标记
     */
    @TableField(exist = false)
    DayOfWeek dateTag;
    @TableId(type = IdType.ASSIGN_ID)
    private String id;
    /**
     * 关联食品种类id
     */
    private String foodId;
    /**
     * 食物名称
     */
    private String foodName;
    /**
     * 食物价格
     */
    private BigDecimal foodPrize;
    /**
     * 辣味
     */
    private String hot;
    /**
     * 口感
     */
    private String texture;
    /**
     * 口味
     */
    private String taste;
    /**
     * 是够可配送
     */
    private boolean distribution;
    /**
     * 开始提供时间
     */
    private LocalTime startTime;
    /**
     * 结束提供时间
     */
    private LocalTime endTime;
    /**
     * 当前是否可提供
     */
    private boolean provide;
    /**
     * 开始供应日期
     */
    private LocalDate provideStartTime;
    /**
     * 结束供应日期
     */
    private LocalDate provideEndTime;
    /**
     * 食品说明
     */
    private String remarks;
    /**
     * 是否可配送String
     */
    @TableField(exist = false)
    private String distributionString;
    /**
     * 是否可提供String
     */
    @TableField(exist = false)
    private String provideString;
    @TableField(exist = false)
    private boolean inMealOrNot;
    /**
     * 推荐或不推荐标签
     */
    @TableField(exist = false)
    private String forbiddenOrRecommend;

}
